使用数据包引用用户输入的详细信息
Zapier 会将用户认证和输入表单中的数据存储在
bundle
对象中,用于 API 调用。您可以在集成中使用{{bundle.bundleName.field}}
或${bundle.bundleName.field}
来引用这些数据,具体取决于上下文。请将bundleName
替换为数据包名称,并将field
替换为所需的输入字段键或 API 响应字段键。
您可以通过以下方式引用 bundle
对象中的字段:
-
在表单模式(默认模式)下,使用
{{bundle.bundleName.field}}
-
在代码模式下,使用标准的 JavaScript 语法。例如:直接引用字段,如
return bundle.bundleName.field
;或使用模板字符串,如${bundle.bundleName.field}
另请参阅:何时使用占位符或大括号?
要引用 bundle
对象中的嵌套字段,请使用点表示法,如 field.nestedfield
。例如,{{bundle.inputData.data.name}}
指的是嵌套在 data
字段内的 name
字段。
Zapier 集成包括以下数据包:
-
bundle
、authData
、inputData
、meta
、rawRequest
和cleanedRequest
、outputData
、targetURL
、subscribeData
-
process.env
authData
引用方式:{{bundle.authData.field}}
或 ${bundle.authData.field}
它包含用户在认证输入表单中输入的数据,例如 基本认证 中的 username
字段,以及 API 密钥、基本、会话和摘要认证方法中配置的额外字段。
对于这些方法,来自输入表单或令牌交换端点的字段可以使用 {{bundle.authData.field}}
访问,其中 “field” 与字段名称匹配。但是,使用 OAuth v2 认证方法时,用户在认证输入表单中输入的数据不会包含在 {{bundle.authData}}
中,而是可在 {{bundle.inputData}}
中访问。
此外,对于 OAuth v2、会话认证和摘要认证,authData
包括令牌交换端点返回的所有数据,可使用 {{bundle.authData.field}}
引用(将 field
替换为 API 响应中的字段名称)。
例如,通常通过 {{bundle.authData.access_token}}
或 {{bundle.authData.accessToken}}
来访问访问令牌值。
然而,authData
数据包不支持嵌套对象:所有从认证函数返回的值必须位于顶层。该数据包也不包括 OAuth v2 或会话认证流程中的中间步骤值,例如 redirect_uri
。
常用的 authData 字段包括:
-
用户名:
{{bundle.authData.username}}
-
密码:
{{bundle.authData.password}}
-
访问令牌:
{{bundle.authData.access_token}}
inputData
引用方式:{{bundle.inputData.field}}
或 ${bundle.inputData.field}
在认证配置中,包括 连接标签,inputData
包含测试 API 调用返回的字段,以及更复杂认证流程中的中间步骤值,例如 OAuth v2 中的 redirect_uri
。这些值通常用于为新集成连接添加 连接标签。
在触发器和操作中,inputData
包含用户在本次运行的输入表单中输入的数据。{{curlies}}
(来自先前 Zap 步骤的映射字段)会使用先前步骤的原始数据进行渲染。
如果您需要获取输入字段数据时保留原始的 {{curlies}}
而非先前步骤的数据,请改用 {{bundle.inputDataRaw.field}}
。这情况较少发生。
常用的 inputData 字段包括:
-
Zapier 重定向 URI:
{{bundle.inputData.redirect_uri}}
-
授权码:
{{bundle.inputData.code}}
-
选定触发事件 ID:
{{bundle.inputData.id}}
OAuth 配置数据注意事项
对于 OAuth 配置,用户通过 “请求模板” 提交的认证表单数据会存储在 bundle.inputData
中。
meta
引用方式:{{bundle.meta.field}}
或 ${bundle.meta.field}
bundle.meta
包含用户操作的相关信息。其可用字段选项如下:
key | default | description |
---|---|---|
isLoadingSample | false | 如果为 true,则此运行是通过 Zap 编辑器手动启动的 |
isFillingDynamicDropdown | false | 如果为 true,则此轮询用于填充动态下拉菜单。您只需返回指定的字段(如 id 和 name),返回所有字段也可 |
isPopulatingDedupe | false | 如果为 true,则此轮询的结果将用于初始化去重列表,而非触发 Zap。您应尽可能获取更多项目。另请参阅:去重 |
limit | -1 | 您应获取的项目数量。-1 表示无限制。请尽量在调用中实现 |
page | 0 | 用于分页,以唯一标识应返回的结果页 |
isTestingAuth | false | (遗留属性)如果为 true,则轮询是由用户测试帐户触发的(通过点击“测试”或设置期间)。我们使用这些数据填充认证标签,主要用于验证认证请求成功 |
rawRequest 和 cleanedRequest
注意:bundle.rawRequest
和 bundle.cleanedRequest
仅在 webhook 的 perform
、OAuth v2 的 getAccessToken
或回调操作的 performResume
中可用。
引用方式:{{bundle.rawRequest.field}}
、{{bundle.cleanedRequest.field}}
、${bundle.rawRequest.field}
或 ${bundle.cleanedRequest.field}
它们分别包含触发 perform
方法的 HTTP 请求的原始或清理后信息,或触发 OAuth v2 认证的 getAccessToken
调用时的用户浏览器请求信息。您可以使用 cleanedRequest
引用单个字段。
如果需要访问头部数据,请使用 bundle.rawRequest
。在 bundle.rawRequest
中,除 Content-Length
和 Content-Type
外的头部会以 Http-
为前缀,所有头部采用 Camel-Case 命名。
outputData
引用方式:{{bundle.outputData}}
或 ${bundle.outputData}
注意:bundle.outputData
仅在回调操作的 performResume
中可用 - 请阅读此处 了解此高级功能。
使用 bundle.outputData
会返回您在 perform
中原始返回的数据,从而允许您将其与 bundle.rawRequest
或 bundle.cleanedRequest
结合使用。
targetUrl
引用方式:{{bundle.targetUrl}}
或 ${bundle.targetUrl}
在使用 REST hooks 的触发器中,它会返回您的应用在触发事件发生时应发送数据的 URL,例如 https://hooks.zapier.com/1234/abcd
。
subscribeData
引用方式:{{bundle.subscribeData}}
或 ${bundle.subscribeData}
在使用 REST hooks 的触发器中,它包括您的 API 从 performSubscribe
函数返回的数据。这应包含所有用于向您的服务器发送 DELETE
请求以停止向 Zapier 发送 webhook 数据(当用户关闭 Zap 时)所需的信息。
process.env
引用方式:{{process.env.field}}
或 ${process.env.field}
常用的 process.env
字段包括:
-
客户端密钥:
{{process.env.CLIENT_SECRET}}
-
客户端 ID:
{{process.env.CLIENT_ID}}
需要帮助?告诉我们您的问题,我们会为您连接合适的资源或联系支持。